package goroutine

import (
	"context"

	"gitee.com/doraemon1996/bunny/env"
	"gitee.com/doraemon1996/bunny/log"
)

var (
	global *GoPool
)

func init() {
	global = New(context.Background(), env.GoPoolSize())
	log.ExitHandlerInsert(func() {
		global.Stop()
	})
}

// 获取运行中的协程数量
func GetRunning() int32 {
	return global.GetRunning()
}

// 获取等待任务数量
func GetWaiting() int32 {
	return global.GetWaiting()
}

// 获取空闲协程数量
func GetIdling() int32 {
	return global.GetIdling()
}

// 提交任务
func Submit(task func()) {
	global.Submit(task)
}
